package com.gengzp.common.model.user.resp;

import com.gengzp.common.model.generic.resp.GenericResp;
import com.gengzp.common.model.permission.dto.ConsolePageDto;
import com.gengzp.common.model.permission.dto.PermissionDto;
import com.gengzp.common.model.permission.dto.SysUserRelationRoleDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;
import java.util.List;

/**
 * @ClassName SearchSysUserResp
 * @Description 查询系统用户返回实体
 * @Author gengzp
 * @Date 2025/9/19 14:53
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("查询系统用户返回实体")
public class SearchSysUserResp extends GenericResp {

    @Serial
    private static final long serialVersionUID = -7459556595570751365L;

    /**
     * 用户账号
     */
    @ApiModelProperty("用户账号")
    private String userAccount;

    /**
     * 用户昵称
     */
    @ApiModelProperty("用户昵称")
    private String userNickname;

    /**
     * 性别
     */
    @ApiModelProperty("性别")
    private Integer userGender;

    /**
     * 性别枚举值
     */
    @ApiModelProperty("性别枚举值")
    private String userGenderValue;

    /**
     * 个人介绍
     */
    @ApiModelProperty("个人介绍")
    private String userIntroduction;

    /**
     * 用户关联的角色
     */
    @ApiModelProperty("用户关联的角色")
    private List<SysUserRelationRoleDto> relationRoleDtos;

    /**
     * 用户关联的权限
     */
    @ApiModelProperty("用户关联的权限")
    private List<PermissionDto> relationPermissions;

    /**
     * 用户关联的页面
     */
    @ApiModelProperty("用户关联的页面")
    private List<ConsolePageDto> consolePages;

}
